﻿using System;
using System.Runtime.Serialization;

namespace TeF
{
    /// <summary>Base class for all exceptions</summary>
    [Serializable]
    public abstract class BaseException : Exception
    {
        protected BaseException()
        {
        }

        protected BaseException(string message)
            : base(message)
        {
        }

        protected BaseException(string message, params object[] args)
            : this(string.Format(message, args))
        {
        }

        protected BaseException(Exception innerException, string message)
            : base(message, innerException)
        {
        }

        protected BaseException(Exception innerException, string message, params object[] args)
            : this(innerException, string.Format(message, args))
        {
        }

        protected BaseException(SerializationInfo info, StreamingContext context)
            : base(info, context)
        {
        }
    }
}
